import nodemailer from 'nodemailer';

// const nodemailer = require("nodemailer");
async function send (sendInfo) {
  const transporter = nodemailer.createTransport({
    host: "smtp.qq.com",//邮箱的服务地址，这里是QQ服务
    port: 587,
    secure: false, // true for 465, false for other ports
    auth: {
      user: '', // 发送邮件的邮箱
      pass: '', // 授权码
    },
  });
  // 需要传回来的格式
  // 重置密码，需要一个code和type是reset
  // 修改邮箱，不需要code和type是email
  // const sendInfo = {
  //   expire: '2021-11-26',
  //   email: 'XXXX@qq.com',
  //   user: 'XXX',
  //   data: {
  //     username:'XXXXX@qq.com'
  //   },
  //   type:'email'
  // }
  let url = 'https://www.baidu.com'//这是一个前端的路由，导航到修改密码的页面
  //发送的内容
  const mailOptions = ({
    from: '"Fly社区认证邮件" XXXX@qq.com', // sender address
    to: sendInfo.email, // 可以是一个列表，发送给谁
    subject:  sendInfo.user !== '' && sendInfo.type !== 'email'
      ? `您好，${sendInfo.user}！《Fly社区》${sendInfo.type === 'reset' ? '重置密码链接' : '验证码'}`
      : '《Fly社区》确认修改邮件链接', // 发送的主题
    text: `《Fly社区》验证码${sendInfo.code
      },验证码的过期时间: ${sendInfo.expire}`, 
    html: `
        <div style="border: 1px solid #dcdcdc;color: #676767;width: 600px; margin: 0 auto; padding-bottom: 50px;position: relative;">
        <div style="height: 60px; background: #393d49; line-height: 60px; color: #58a36f; font-size: 18px;padding-left: 10px;">欢迎来到官方社区</div>
        <div style="padding: 25px">
          <div>您好，${sendInfo.user}，重置链接有效时间30分钟，请在${sendInfo.expire
      }之前${sendInfo.code ? '重置您的密码' : '修改您的邮箱为：' + sendInfo.data.username}：</div>
          <a href="${url}" style="padding: 10px 20px; color: #fff; background: #009e94; display: inline-block;margin: 15px 0;">${sendInfo.code ? '立即重置密码' : '确认设置邮箱'}</a>
          <div style="padding: 5px; background: #f2f2f2;">如果该邮件不是由你本人操作，请勿进行激活！否则你的邮箱将会被他人绑定。</div>
        </div>
        <div style="background: #fafafa; color: #b4b4b4;text-align: center; line-height: 45px; height: 45px; position: absolute; left: 0; bottom: 0;width: 100%;">系统邮件，请勿直接回复.</div>
    </div>
    `, // html body
  });
  //发送
  const info = await transporter.sendMail(mailOptions)
  return `Message sent: %s', ${info.messageId}`
 
}

export default send